The ever-improving performance of computers and computer programs has spawned a corresponding need for higher capability user input devices. Emerging computer application programs for word processing, data entry, three-dimensional mechanical design, flight simulation, and consumer-oriented games all demand multiple degree-of-freedom (hereafter "axis") data input. However, prior computer input devices, such as joysticks, trackballs, graphic tablets, and mice are limited by their construction to two or three axis operation, whereas up to six axis operation is desirable in many applications.
FIG. 1 shows the six axes as three mutually perpendicular translational motion axes (hereafter referred to as an X-axis, a Y-axis, and a Z-axis) and three mutually perpendicular rotational motion axes (hereafter referred to as a roll axis, a pitch axis, and a yaw axis). Skilled workers typically refer to roll as an angular rotation about the X-axis, pitch as an angular rotation about the Y-axis, and yaw as an angular rotation about the Z-axis.
A joystick typically employs a user-positioned actuator handle pivoted about a fixed point to actuate two mutually perpendicular potentiometers that generate respective X- and Y-axis data. In some joysticks, springs are employed to return the actuator handle to a centered position. However, potentiometers have friction that leads to unrepeatable data generation and difficulty in "zeroing" the joystick.
As a result, other workers have employed optical encoders, switch arrays, piezo-electric transducers, strain-gauges, capacitive coupling devices, inductive coupling devices, and magnetic devices to circumvent the electromechanical problems inherent in potentiometers. Unfortunately, as they were configured, none of the prior devices provided any additional axes of operation, some were too costly for consumer-oriented data input applications, and others unduly restricted actuator motion, which degrades user "feel."
For example, a mouse typically employs a user-positioned ball that rolls in constraining bearings to frictionally rotate two mutually perpendicular devices, such as optical encoders that generate respective X- and Y-axis data. Because the mouse moves on a flat surface, only two axes of data are generated. However, a mouse typically incorporates at least one additional user-actuated button that may be used to change the operating mode of the mouse. For example, the X- and Y-axis translation data may be converted to roll and pitch data when the button is depressed. Of course, the addition of buttons does not change the fact that the mouse is limited to operating in only two axes at a time. Moreover, the bearings and frictional couplings are prone to irregular rotation caused by accumulated contaminates that are picked from the flat surface by the ball.
An exemplary three axis input device is described in U.S. Pat. No. 4,952,919 for TRACKBALL MECHANISM. A trackball can be thought of as an inverted mouse in which the ball is directly accessible to user manipulation. In this particular trackball, the ball rolls in constraining bearings that are positioned to expose to user manipulation a majority of the ball surface area. Moreover, the ball frictionally rotates three mutually perpendicular optical encoders that generate respective X-, Y-, and Z-axis (or alternatively roll-, pitch-, and yaw-axis) data.
An exemplary four axis input device is the model 426-G811 Four Axis Control manufactured by Measurement Systems, Inc., of Norwalk, Conn. The Four Axis Control is a potentiometer-based joystick in which the actuator handle is movable in the X-, Y-, and Z-axis directions and is rotatable about the Z-axis. The four axes of motion are each coupled to potentiometers that produce X-, Y-, and Z-axis translational data and yaw-axis rotational data. Of course, the Four Axis Control is costly and has the typical disadvantages associated with potentiometers and their associated coupling mechanisms.
What is needed, therefore, is an inexpensive user input device that has good user feel, senses more than four axes of motion applied to a single actuator handle, and responds by generating accurate and repeatable input data.